#include "StdAfx.h"
#include "Scene.h"
#include "SceneMgr.h"

Scene::~Scene()
{
	MainWin::GetInstance()->RemoveCallback();
	//for (auto &gos : m_gameObjects)
	//{
	//	for (auto gobj : gos.second)
	//	{
	//		delete gobj;
	//	}
	//}
	//for (auto &m : m_transforms)
	//{
	//	delete m.second;
	//}
	//m_groupGameObjects.clear();
	//m_groupCamera.clear();
}
//
//void Scene::Update()
//{
//	
//	for (auto &gos : m_groupGameObjects)
//	{
//		for (auto gobj : gos.second)
//		{
//			if (gobj->m_enable) gobj->Update();
//		}
//	}
//
//	for (auto &c : m_groupCamera)
//	{
//		c.second.UpdateWorldMatrix();
//	}
//
//	for (auto &gos : m_groupGameObjects)
//	{
//		for (auto gobj : gos.second)
//		{
//			if (gobj->m_visible) gobj->Draw();
//		}
//	}
//}

//Transform *Scene::GetTransformRoot(int nGroup)
//{
//	auto &trans = m_transforms[nGroup];
//	if (!trans) trans = new Transform;
//	return trans;
//}
//
//GameObject *Scene::GetGameObject(int group, int id)
//{
//	for (auto obj : m_gameObjects[group])
//	{
//		if (obj->GetId() == id) return obj;
//	}
//	return nullptr;
//}

//GameObjectList *Scene::GetGroupGameObjects(int group)
//{
//	return &m_groupGameObjects[group];
//}
//
//Camera *Scene::GetGroupCamera(int group)
//{
//	return &m_groupCamera[group];
//}